package com.koron.tool.bean;

import com.alibaba.excel.annotation.ExcelProperty;
import com.koron.tool.convertor.AvailableStatusConvertor;
import com.koron.tool.convertor.InventoryStatusConvertor;
import com.koron.tool.convertor.TimestampConvertor;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * @ClassName ToolGroupBean
 * @description 工器具台账树
 * @Author liaodf
 * @Date 2021/10/20 18:16
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ToolBean extends BaseBean {

    @ExcelProperty(index = 0)
    private String idOrder;

    @ExcelProperty(index = 1)
    @ApiModelProperty(value = "RFID")
    private String RFID;

    @ExcelProperty(index = 2)
    @ApiModelProperty(value = "工具名称")
    private String name;

    @ApiModelProperty(value = "工具编码")
    private String code;

    @ExcelProperty(index = 4)
    @ApiModelProperty(value = "型号")
    private String model;

    @ExcelProperty(index = 5)
    @ApiModelProperty(value = "厂家")
    private String manufacturer;

    @ExcelProperty(index = 6)
    @ApiModelProperty(value = "品牌")
    private String brand;

    @ApiModelProperty(value = "生产日期")
    @ExcelProperty(value = "生产日期", converter = TimestampConvertor.class)
    private Long productionDate;

    @ExcelProperty(index = 7)
    private String productionDateString;

    @ApiModelProperty(value = "入库日期")
    @ExcelProperty(value = "入库日期", converter = TimestampConvertor.class)
    private Long inStorageDate;

    @ExcelProperty(index = 8)
    private String inStorageDateString;

    @ApiModelProperty(value = "生命周期")
    private Integer lifeCycle;

    @ApiModelProperty(value = "检验周期")
    private Integer inspectionCycle;

    @ApiModelProperty(value = "报废日期")
    @ExcelProperty(value = "报废日期", converter = TimestampConvertor.class)
    private Long scrapDate;

    @ExcelProperty(index = 9)
    private String scrapDateString;

    @ApiModelProperty(value = "本次检验日期")
    private Long newInspectionDate;

    @ExcelProperty(index = 10)
    private String newInspectionDateString;

    @ApiModelProperty(value = "下次检验日期")
    @ExcelProperty(value = "下次检验日期", converter = TimestampConvertor.class)
    private Long nextInspectionDate;

    @ExcelProperty(index = 11)
    private String nextInspectionDateString;

    @ApiModelProperty(value = "库存状态")
    @ExcelProperty(value = "库存状态", converter = InventoryStatusConvertor.class)
    private String inventoryStatus;

    @ApiModelProperty(value = "可用状态")
    @ExcelProperty(value = "可用状态", converter = AvailableStatusConvertor.class)
    private String availableStatus;

    @ApiModelProperty(value = "报废原因")
    private String scrapWhy;

    @ApiModelProperty(value = "所属库房ID")
    private String warehouseId;

    @ApiModelProperty(value = "所属库房名称")
    private String warehouseName;

    @ApiModelProperty(value = "所属单位ID")
    private String warehouse;

    @ApiModelProperty(value = "所属单位名称")
    private String belongsUnitName;

    @ExcelProperty(index = 12)
    @ApiModelProperty(value = "工器具类型编码")
    private String toolTyleCode;

    @ApiModelProperty(value = "工器具类型")
    private String toolTyle;

    @ExcelProperty(index = 13)
    @ApiModelProperty(value = "工具位置")
    private String toolLocation;

    @ApiModelProperty(value = "排序")
    private Integer order;

    @ExcelProperty(index = 3)
    @ApiModelProperty(value = "eam类型")
    private String eamType;
    private String eamTypeName;

    @ExcelProperty(index = 14)
    @ApiModelProperty(value = "工具编号")
    private String toolNumber;

    @ExcelProperty(index = 15)
    @ApiModelProperty(value = "负责人")
    private String personInCharge;

    @ApiModelProperty(value = "负责人名称")
    private String personInChargeName;

}
